package com.yu.crm.domain.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 人脸特征值对比表
 * </p>
 * @author ct
 * @since 2019-12-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class CrmEigenvalue implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.ID_WORKER)
    private Long id;

    /**
     * 用户id
     */
    @TableField("user_id")
    private String userId;

    /**
     * 用户openid
     */
    @TableField("open_id")
    private String openId;

    /**
     * 类型(1访客 2内部 3:其他 )
     */
    @TableField("type")
    private Integer type;

    /**
     * 人脸特征值
     */
    @TableField("certificate_eigen")
    private byte[] certificateEigen;

    /**
     * 人脸图片
     */
    @TableField("img_base")
    private byte[] imgBase;


    @TableField("certificate_base")
    private String certificateBase;


    @TableField("camera_image_base")
    private String cameraImageBase;


    /**
     * 性别 0：男 1：女 -1: 不确定
     */
    @TableField("gender")
    private Integer gender;

    /**
     * 人员年龄 0: 不确定 > 0: 确定的年龄
     */
    @TableField("age")
    private Integer age;

    /**
     * 摄像头唯一标示
     */
    @TableField("camera_number")
    private String cameraNumber;

    /**
     * 创建时间
     */
    @TableField("gmt_create")
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    @TableField("gmt_modified")
    private LocalDateTime gmtModified;

    /**
     * 是否已删除  默认0 0未删除  1已删除
     */
    @TableField("is_deleted")
    @TableLogic
    private Integer isDeleted;

    /**
     * 人脸特征值字符串
     */
    @TableField(exist = false)
    private String cameraFeature;


    /**
     * 内部员工：姓名
     */
    @TableField(exist = false)
    private String name;

    /**
     * 访客微信姓名
     */
    @TableField(exist = false)
    private String wxName;


    /**
     * 公司
     */
    @TableField(exist = false)
    private String company;

    /**
     * 部门
     */
    @TableField(exist = false)
    private String department;

    /**
     * 在职状态
     */
    @TableField(exist = false)
    private Integer userStatus;

    /**
     * 楼栋区域名称
     */
    @TableField(exist = false)
    private String buildingAreaName;

    /**
     * 楼栋名称
     */
    @TableField(exist = false)
    private String buildingName;


    /**
     * 楼层名称
     */
    @TableField(exist = false)
    private String buildingFloorName;


    /**
     * 危险级别
     */
    @TableField(exist = false)
    private Integer level;

    /**
     * 黑名单type
     */
    @TableField(exist = false)
    private Long blackType;


    /**
     *  limit 参数
     */
    @TableField(exist = false)
    private Integer limit;


    /**
     *  查询时间 开始时间
     */
    @TableField(exist = false)
    private String startDate;

    /**
     *  查询时间 结束时间
     */
    @TableField(exist = false)
    private String endDate;

}
